我一直以為現在是 json
格式的天下,沒想到遇到靜態資料都存在 XML
的專案。趁機會學習一下 XML 的存取方式
.NET 內建存取 XML 的工具,都位於在System.XML
的命名空間裡面
其中有 XmlReader
和 XmlDocument
兩種方式。
XmlDocument
是一次讀取整份XML到記憶體的方式,而我們可以使用load
方法來讀入XML
XmlDocument doc = new XmlDocument();
doc.Load("C:\Users\dannyliu\Desktop\TEST.xml");
載入文件後,接下來就是要讀取裡面的節點,假設我們的XML資料如下
<?xml version="1.0" encoding="utf-8"?>
<Items>
<Item>
<Name>A</Name>
</Item>
<Item>
<Name>B</Name>
</Item>
<Item>
<Name>C</Name>
</Item>
<Item>
<Name>D</Name>
</Item>
<Item>
<Name>E</Name>
</Item>
</Items>
可以使用SelectSingleNode(條件)
方法來找出符合條件的第一個節點
又或可使用SelectNodes(條件)
方法來所有符合條件的相同節點
以下是條件舉例
XmlDocument doc = new XmlDocument();
doc.Load(C:\Users\dannyliu\Desktop\TEST.xml);
var itemsNode = doc.SelectSingleNode("Items");
var itemNodeList = itemsNode.SelectNodes("Item");
foreach (XmlNode item in itemNodeList)
{
Console.WriteLine(item["Name"]?.InnerText);
}
A
B
C
D
E